package com.feeyo.prophet.pojo.action.flight;

import com.alibaba.fastjson.annotation.JSONField;
import com.feeyo.prophet.pojo.action.DynamicDateRange;
import lombok.Data;

import java.util.List;

@Data
public class FlightDynamic {

    /**
     * 航班日期,格式yyyy-MM-dd eg:'2024-06-01'
     */
    @JSONField(name = "flightDate")
    private String flightDate;

    /**
     * 航班开始时间,格式HH:mm eg:'12:30'
     */
    @JSONField(name = "startTime")
    private String startTime;

    /**
     * 航班结束时间,格式HH:mm eg:'15:15'
     */
    @JSONField(name = "endTime")
    private String endTime;


    @JSONField(name = "dateRanges")
    private List<DynamicDateRange> dateRanges;

    /**
     * 航班号 eg:['HU7248']
     */
    @JSONField(name = "fnums")
    private List<String> fnums;

    /**
     * 飞机编号 eg:['7248']
     */
    @JSONField(name = "anums")
    private List<String> anums;

    /**
     * 航空公司IATA二字码数组 eg:["9C"]
     */
    @JSONField(name = "airlines")
    private List<String> airlines;

    /**
     * 航段类型数组, enum:'0:国内飞国内(有时直接简述为国内),1:国内飞地区(有时直接简述为地区),2:国内飞国际(有时直接简述为国际),3:地区飞地区,4:地区飞国际,5:国际飞国际'
     */
    @JSONField(name = "fcategory")
    private List<Integer> fcategory;

    /**
     * 服务类型 enum:'F:货运,J:客运'
     */
    @JSONField(name = "fservice")
    private String fservice;

    /**
     * 出发城市IATA编码
     */
    @JSONField(name = "depCityCodes")
    private String depCityCodes;

    /**
     * 到达城市IATA编码
     */
    @JSONField(name = "arrCityCodes")
    private String arrCityCodes;

    /**
     * 页码
     */
    @JSONField
    private Integer pageNum;

    /**
     * 每一页大小
     */
    @JSONField
    private Integer pageSize;

    /**
     * 数据类型, 是否全量
     */
    @JSONField
    private boolean dataType;

    /**
     * 需要的字段
     */
    @JSONField
    private List<String> fields;
}